package com.gylang.im.core.service;

import com.gylang.mapper.domain.BaseDO;

import java.util.List;

/**
 * @author gylang
 * data 2020/6/17
 * @version v0.0.1
 */
public interface IBaseService<T, D extends BaseDO> {
    /**
     * id查询
     *
     * @param id id值
     * @return 查询结果
     */
    T findById(Object id);

    /**
     * 条件查询一条
     *
     * @param t 查询条件
     * @return 查询结果
     */
    T findOne(T t);

    /**
     * 查询列表
     *
     * @param t
     * @return
     */
    List<T> findList(T t);

    /**
     * 删除
     *
     * @param t
     * @return 删除
     */
    int delete(T t);

    /**
     * 保存
     *
     * @param t save
     * @return 影响数
     */
    int save(T t);


}
